import axios from 'axios'
import { ElMessage } from 'element-plus'
// import store from '../store'
// import { getToken } from '@/utils/auth'

// 创建axios实例
const service = axios.create({
    baseURL: 'http://39.98.120.230:8080/api', // api 的 base_url
    timeout: 5000 // 请求超时时间
})

// request拦截器 每次请求都会执行这里面的代码
service.interceptors.request.use(
    config => {
        // if (store.getters.token) {
        //     config.headers['Authorization'] = `Bearer ${getToken()}` // 让每个请求携带自定义token 请根据实际情况自行修改
        // }
        return config
    },
    error => {
        // Do something with request error
        console.log(error) // for debug
        Promise.reject(error)
    }
)

// response 拦截器 每次回调都会执行这里面的代码
service.interceptors.response.use(
    response => {
        /**
         * statusCode为非20000是抛错 可结合自己业务进行修改
         */
        const res = response.data
        if (res.statusCode !== 200) {
            ElMessage.error(res.errors)


            // 50008:非法的token; 50012:其他客户端登录了;  50014:Token 过期了;

            return Promise.reject('error')
        } else {
            return response.data
        }
    },
    error => {
        console.log('err' + error) // for debug
        ElMessage.error(res.errors)

        return Promise.reject(error)
    }
)

export default service